import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description: 合并数列
 * User: DELL
 * Date: 2024-05-23
 * Time: 14:02
 */
public class Main4 {
    /**
     * 本题经过初步观察，可以发现我们只需要使用双指针依次遍历合并即可
     * 因为加入前 n 项已经合并相同，那么后续的不相同的项只能往后合并，
     * 因为如果你往前合并，那么你就破坏了前面这个相等的条件，且因为
     * 破坏这个条件后，另一个元素也得加到其对应的后面，这样子相当于
     * 啥也没做，多做了两步，同时因为前面的元素相同，且数组中每个元素
     * 的和都相等，因此往后合并一定可以合并成相等的。
     *
     * @param args
     */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        Deque<Integer> a = new LinkedList<>();
        Deque<Integer> b = new LinkedList<>();
        for (int i = 0; i < n; i++) {
            a.addLast(scanner.nextInt());
        }
        for (int i = 0; i < m; i++) {
            b.addLast(scanner.nextInt());
        }
        int res = 0;
        while (!a.isEmpty() && !b.isEmpty()) {
            int numA = a.peekFirst();
            int numB = b.peekFirst();
            if (numA == numB) {
                a.removeFirst();
                b.removeFirst();
            } else if (numA < numB) {
                int temp1 = a.removeFirst();
                int temp2 = a.removeFirst();
                a.addFirst(temp1 + temp2);
                res++;
            } else {
                int temp1 = b.removeFirst();
                int temp2 = b.removeFirst();
                b.addFirst(temp1 + temp2);
                res++;
            }
        }
        System.out.println(res);
    }
}
